AWS CLI v2のインストールはどれくらい楽になりそうなのかを調べてみた #reinvent
こんにちは。AWS事業本部のShirotaです。
無事ラスベガスから帰ってきた訳ですが、まだまだ現地での熱気が冷めやらない内に情報をお届けしていきたいと思います!
新しいAWS CLI v2のプレビューが試せます
以前、AWS CLI v2がdeveloperプレビューになっている事についてはre:Inventでのセッションのレポートでお話し致しました。
[レポート] 新機能も続々!AWS CLI v2の紹介 #reinvent
その際に、以下のように紹介させて頂きました。
- Pythonがなくてもインストールできるようになった!
今回AWS CLI v2を触るに当たって、今までのAWS CLI(v1)と今回のv2でどのようにインストールが異なっているのかを調べる機会がありましたのでまとめてみたいと思います。
今までのAWS CLI( v1 )のインストール方法について
AWS CLI(v1)のインストール方法は、大きく分けて二種類ありました。
- バンドルされたインストーラ(Linux、MacOS、その他UNIX)やMSIインストーラ(Windows)を使ってインストール
- Pythonとpipをインストールした上でpipを使ってインストール
ただ、どちらのやり方でも事前にPythonのインストール及び指定されたバージョンである事という条件があり、Pythonの初期導入や既に導入している環境の場合はバージョンの差異が影響してくるといった若干の導入前のステップが存在していました。
来年のPythonのサポート期限等で色々対応した方もいるのでは無いでしょうか。
今あるAWS CLI v2のインストール方法について
さて、現在プレビューとなっているAWS CLI v2のインストール方法についてですが、公式ガイドには以下のように記されています。
AWS CLI バージョン 2 は、バンドルされたインストーラとしてのみインストールできます。一部のパッケージマネージャーで見つけることができるかもしれませんが、AWS によって作成または管理されていないため、公式ではなく、AWS でサポートされていません。このガイドに記載されている公式の AWS ディストリビューションポイントからのみ AWS CLI をインストールすることを推奨します。
公式ガイド内に記載されているインストーラのみが公式のものだと明言されたものであるのでそこからインストールしてね、との事のようです。
現状はパッケージマネージャーからのインストールは提供されていないようなので、インストール方法としてはこれのみになりそうです。
EC2環境のPython事情を調べてみる
Python依存が無くなって楽になる!……という事を述べてきたのですが、現状のEC2環境はどうなっているのでしょうか。
今回、上記公式ガイドにAWS CLI v2のサポートありとの記載があり、AWSから提供されているAMIがあった以下のOSについて調べてみる事にしました。
- Amazon Linux 2(ami-068a6cefc24c301d2)
- Amazon Linux 1(ami-0ab3e16f9c414dee7)
- Ubuntu 18.04(ami-0cd744adeca97abb1)
Amazon Linux 2 と Amazon Linux 1
そもそも、Amazon LinuxにはAWS CLI v1がプレインストールされています。
よって、Pythonは既にインストールされています。
$ aws --version aws-cli/1.16.102 Python/2.7.16 Linux/4.14.152-127.182.amzn2.x86_64 botocore/1.12.92
ただ、確認したところ Amazon Linux 2にはpipがインストールされていませんでした 。
逆にAmazon Linux 1にはpipがインストールされています。
$ which pip /usr/bin/which: no pip in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin)
最新版のAWS CLI v1をアップデートする際にはpip(もしくはpip3)が必要になる為、Amazon Linux 2では最終的に自力でpip(もしくはpip3)をセットアップする必要が生じます。
Ubuntu 18.04
Ubuntuは、AWS CLI v1がデフォルトでインストールされていません。
Pythonについては以下のようになっていました。
$ python --version Command 'python' not found, but can be installed with: sudo apt install python3 sudo apt install python sudo apt install python-minimal You also have python3 installed, you can run 'python3' instead. $ python3 --version Python 3.6.8 $ pip3 Command 'pip3' not found, but can be installed with: sudo apt install python3-pip
デフォルトでPython3.6.8が入っていました。また、pip3は入っていませんでしたがaptからインストールできるようです。
AWS CLI v2のインストールが楽になるかどうかについて
さて、ここまでのAWS CLI v2サポート予定のOSの一部を見てきましたがPythonが事前に入っている環境が多いと感じました。
また、pipは入っていない場合が多い為、結局のところ最新のAWS CLI v1を使う際にはpipをダウンロードするといった行程が入る事なども考えると、 AWS CLI v2のインストールは以前のバージョンと比べて少し楽になったのではないかと思われます 。
今後も、実際にAWS CLI v2をインストールして触っていく中で、その良さが分かるようになってくれば良いのではないでしょうか。